How Developers Engineer Test Cases: An Observational Study

نویسندگان

چکیده

One of the main challenges that developers face when testing their systems lies in engineering test cases are good enough to reveal bugs. And while our body knowledge on software and automated case generation is already quite significant, practice, still ones responsible for manually. Therefore, understanding developers' thought- decision-making processes a fundamental step making better at software. In this paper, we observe 13 thinking-aloud different real-world open-source methods, use these observations explain how engineer cases. We then challenge augment findings by surveying 72 practices. discuss results from three angles. First, propose general framework explains reason about testing. Second, describe detail overarching strategies apply Third, compare relate with existing future studies would advance topic.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

How do developers use C++ libraries? An empirical study

C++ libraries provide an abundance of reusable components for writing high-quality programs and are thus widely adopted by software developers. However, to date there is little work investigating how these libraries are actually used in real software. In this paper, we perform an empirical study to investigate the adoption of C++ standard libraries in open-source applications, with the goal to ...

متن کامل

How to Reverse Engineer an EES Device

Clearly, something in the system has to be secret. The goal of EES is that government agencies will be able to tap telephone calls, but no-one else will. To achieve this, the government must have, or know, something that no-one else does. This something is the Unit Key (KU), a cryptographic key which is different for every telephone. The basic idea is that if you know a phone’s unit key you can...

متن کامل

On How Developers Test Open Source Software Systems

Engineering software systems is a multidisciplinary activity, whereby a number of artifacts must be created — and maintained — synchronously. In this paper we investigate whether production code and the accompanying tests co-evolve by exploring a project’s versioning system, code coverage reports and size-metrics. Three open source case studies teach us that testing activities usually start lat...

متن کامل

Collaboration, Information Seeking and Communication: An Observational Study of Software Developers' Work Practices

Different aspects defining the nature of software engineering work have been analyzed by empirical studies conducted in the last 30 years. However, in recent years, many changes have occurred in the context of software development that impact the way people collaborate, communicate with each other, manage the development process and search for information to create solutions and solve problems....

متن کامل

How We Engineer Enterprise Systems

Systems Engineering (SE) tools and methods developed and used in consulting and IT systems integration business are presented in the paper. Effectively managing the uncertainty and unknowns, clearly translating customers’ needs into requirements and further verifying and validating them, as well as the preliminary estimation and the strong control of the full scope of project work (timeline, re...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: IEEE Transactions on Software Engineering

سال: 2021

ISSN: ['0098-5589', '1939-3520', '2326-3881']

DOI: https://doi.org/10.1109/tse.2021.3129889